{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Keras ResNet classifier for CIFAR10 test\n",
    "ResNet network for CIFAR10 network test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The autoreload extension is already loaded. To reload it, use:\n",
      "  %reload_ext autoreload\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import keras\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense, Activation\n",
    "from data_utils import *\n",
    "\n",
    "%matplotlib inline\n",
    "plt.rcParams['figure.figsize'] = (10.0, 8.0) # set default size of plots\n",
    "plt.rcParams['image.interpolation'] = 'nearest'\n",
    "plt.rcParams['image.cmap'] = 'gray'\n",
    "\n",
    "import tensorflow as tf \n",
    "from keras import backend as k\n",
    "import os\n",
    "config = tf.ConfigProto()\n",
    "# config.gpu_options.per_process_gpu_memory_fraction = 0.1\n",
    "config.gpu_options.allow_growth = True\n",
    "k.tensorflow_backend.set_session(tf.Session(config=config))\n",
    "\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CIFAR10 Training data shape: (50000, 32, 32, 3)\n",
      "CIFAR10 Training label shape (50000, 1)\n",
      "CIFAR10 Test data shape (10000, 32, 32, 3)\n",
      "CIFAR10 Test label shape (10000, 1)\n",
      "num train:45000 num val:5000\n"
     ]
    }
   ],
   "source": [
    "# get data\n",
    "cifar10_data = CIFAR10Data()\n",
    "x_train, y_train, x_test, y_test = cifar10_data.get_data(subtract_mean=True)\n",
    "\n",
    "num_train = int(x_train.shape[0] * 0.9)\n",
    "num_val = x_train.shape[0] - num_train\n",
    "mask = list(range(num_train, num_train+num_val))\n",
    "x_val = x_train[mask]\n",
    "y_val = y_train[mask]\n",
    "\n",
    "mask = list(range(num_train))\n",
    "x_train = x_train[mask]\n",
    "y_train = y_train[mask]\n",
    "\n",
    "print('num train:%d num val:%d' % (num_train, num_val))\n",
    "data = (x_train, y_train, x_val, y_val, x_test, y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## test with resnet20\n",
    "resnet20 is inffered in the ResNet paper."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "__________________________________________________________________________________________________\n",
      "Layer (type)                    Output Shape         Param #     Connected to                     \n",
      "==================================================================================================\n",
      "input_2 (InputLayer)            (None, 32, 32, 3)    0                                            \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_22 (Conv2D)              (None, 32, 32, 16)   432         input_2[0][0]                    \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_22 (BatchNo (None, 32, 32, 16)   64          conv2d_22[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_20 (Activation)      (None, 32, 32, 16)   0           batch_normalization_22[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_23 (Conv2D)              (None, 32, 32, 16)   2304        activation_20[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_23 (BatchNo (None, 32, 32, 16)   64          conv2d_23[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_21 (Activation)      (None, 32, 32, 16)   0           batch_normalization_23[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_24 (Conv2D)              (None, 32, 32, 16)   2304        activation_21[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_24 (BatchNo (None, 32, 32, 16)   64          conv2d_24[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_10 (Add)                    (None, 32, 32, 16)   0           activation_20[0][0]              \n",
      "                                                                 batch_normalization_24[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_22 (Activation)      (None, 32, 32, 16)   0           add_10[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_25 (Conv2D)              (None, 32, 32, 16)   2304        activation_22[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_25 (BatchNo (None, 32, 32, 16)   64          conv2d_25[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_23 (Activation)      (None, 32, 32, 16)   0           batch_normalization_25[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_26 (Conv2D)              (None, 32, 32, 16)   2304        activation_23[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_26 (BatchNo (None, 32, 32, 16)   64          conv2d_26[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_11 (Add)                    (None, 32, 32, 16)   0           activation_22[0][0]              \n",
      "                                                                 batch_normalization_26[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_24 (Activation)      (None, 32, 32, 16)   0           add_11[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_27 (Conv2D)              (None, 32, 32, 16)   2304        activation_24[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_27 (BatchNo (None, 32, 32, 16)   64          conv2d_27[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_25 (Activation)      (None, 32, 32, 16)   0           batch_normalization_27[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_28 (Conv2D)              (None, 32, 32, 16)   2304        activation_25[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_28 (BatchNo (None, 32, 32, 16)   64          conv2d_28[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_12 (Add)                    (None, 32, 32, 16)   0           activation_24[0][0]              \n",
      "                                                                 batch_normalization_28[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_26 (Activation)      (None, 32, 32, 16)   0           add_12[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_30 (Conv2D)              (None, 16, 16, 32)   4608        activation_26[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_30 (BatchNo (None, 16, 16, 32)   128         conv2d_30[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_27 (Activation)      (None, 16, 16, 32)   0           batch_normalization_30[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_29 (Conv2D)              (None, 16, 16, 32)   512         activation_26[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_31 (Conv2D)              (None, 16, 16, 32)   9216        activation_27[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_29 (BatchNo (None, 16, 16, 32)   128         conv2d_29[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_31 (BatchNo (None, 16, 16, 32)   128         conv2d_31[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_13 (Add)                    (None, 16, 16, 32)   0           batch_normalization_29[0][0]     \n",
      "                                                                 batch_normalization_31[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_28 (Activation)      (None, 16, 16, 32)   0           add_13[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_32 (Conv2D)              (None, 16, 16, 32)   9216        activation_28[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_32 (BatchNo (None, 16, 16, 32)   128         conv2d_32[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_29 (Activation)      (None, 16, 16, 32)   0           batch_normalization_32[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_33 (Conv2D)              (None, 16, 16, 32)   9216        activation_29[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_33 (BatchNo (None, 16, 16, 32)   128         conv2d_33[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_14 (Add)                    (None, 16, 16, 32)   0           activation_28[0][0]              \n",
      "                                                                 batch_normalization_33[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_30 (Activation)      (None, 16, 16, 32)   0           add_14[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_34 (Conv2D)              (None, 16, 16, 32)   9216        activation_30[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_34 (BatchNo (None, 16, 16, 32)   128         conv2d_34[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_31 (Activation)      (None, 16, 16, 32)   0           batch_normalization_34[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_35 (Conv2D)              (None, 16, 16, 32)   9216        activation_31[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_35 (BatchNo (None, 16, 16, 32)   128         conv2d_35[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_15 (Add)                    (None, 16, 16, 32)   0           activation_30[0][0]              \n",
      "                                                                 batch_normalization_35[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_32 (Activation)      (None, 16, 16, 32)   0           add_15[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_37 (Conv2D)              (None, 8, 8, 64)     18432       activation_32[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_37 (BatchNo (None, 8, 8, 64)     256         conv2d_37[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_33 (Activation)      (None, 8, 8, 64)     0           batch_normalization_37[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_36 (Conv2D)              (None, 8, 8, 64)     2048        activation_32[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_38 (Conv2D)              (None, 8, 8, 64)     36864       activation_33[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_36 (BatchNo (None, 8, 8, 64)     256         conv2d_36[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_38 (BatchNo (None, 8, 8, 64)     256         conv2d_38[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_16 (Add)                    (None, 8, 8, 64)     0           batch_normalization_36[0][0]     \n",
      "                                                                 batch_normalization_38[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_34 (Activation)      (None, 8, 8, 64)     0           add_16[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_39 (Conv2D)              (None, 8, 8, 64)     36864       activation_34[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_39 (BatchNo (None, 8, 8, 64)     256         conv2d_39[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_35 (Activation)      (None, 8, 8, 64)     0           batch_normalization_39[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_40 (Conv2D)              (None, 8, 8, 64)     36864       activation_35[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_40 (BatchNo (None, 8, 8, 64)     256         conv2d_40[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_17 (Add)                    (None, 8, 8, 64)     0           activation_34[0][0]              \n",
      "                                                                 batch_normalization_40[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_36 (Activation)      (None, 8, 8, 64)     0           add_17[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_41 (Conv2D)              (None, 8, 8, 64)     36864       activation_36[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_41 (BatchNo (None, 8, 8, 64)     256         conv2d_41[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "activation_37 (Activation)      (None, 8, 8, 64)     0           batch_normalization_41[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "conv2d_42 (Conv2D)              (None, 8, 8, 64)     36864       activation_37[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_42 (BatchNo (None, 8, 8, 64)     256         conv2d_42[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "add_18 (Add)                    (None, 8, 8, 64)     0           activation_36[0][0]              \n",
      "                                                                 batch_normalization_42[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "activation_38 (Activation)      (None, 8, 8, 64)     0           add_18[0][0]                     \n",
      "__________________________________________________________________________________________________\n",
      "average_pooling2d_2 (AveragePoo (None, 1, 1, 64)     0           activation_38[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "flatten_2 (Flatten)             (None, 64)           0           average_pooling2d_2[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "dense_2 (Dense)                 (None, 10)           650         flatten_2[0][0]                  \n",
      "==================================================================================================\n",
      "Total params: 274,042\n",
      "Trainable params: 272,474\n",
      "Non-trainable params: 1,568\n",
      "__________________________________________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "from classifiers.ResNet import ResNet20ForCIFAR10\n",
    "from keras import losses\n",
    "from keras import optimizers\n",
    "\n",
    "weight_decay = 1e-4\n",
    "lr = 1e-1\n",
    "num_classes = 10\n",
    "resnet20 = ResNet20ForCIFAR10(input_shape=(32, 32, 3), classes=num_classes, weight_decay=weight_decay)\n",
    "opt = optimizers.SGD(lr=lr, momentum=0.9, nesterov=False)\n",
    "resnet20.compile(optimizer=opt,\n",
    "                 loss=losses.categorical_crossentropy,\n",
    "                 metrics=['accuracy'])\n",
    "resnet20.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train with data augmentation\n",
      "Epoch 1/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 33s 94ms/step - loss: 1.8707 - acc: 0.3359 - val_loss: 1.8481 - val_acc: 0.3656\n",
      "Epoch 2/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 80ms/step - loss: 1.4027 - acc: 0.5196 - val_loss: 1.4507 - val_acc: 0.5212\n",
      "Epoch 3/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 81ms/step - loss: 1.1617 - acc: 0.6150 - val_loss: 1.1410 - val_acc: 0.6184\n",
      "Epoch 4/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 80ms/step - loss: 0.9948 - acc: 0.6838 - val_loss: 1.2639 - val_acc: 0.5912\n",
      "Epoch 5/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 79ms/step - loss: 0.8695 - acc: 0.7305 - val_loss: 1.1679 - val_acc: 0.6476\n",
      "Epoch 6/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 78ms/step - loss: 0.7950 - acc: 0.7605 - val_loss: 0.9494 - val_acc: 0.7158\n",
      "Epoch 7/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 80ms/step - loss: 0.7470 - acc: 0.7811 - val_loss: 0.8450 - val_acc: 0.7452\n",
      "Epoch 8/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.7099 - acc: 0.7957 - val_loss: 1.0027 - val_acc: 0.7122\n",
      "Epoch 9/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.6783 - acc: 0.8102 - val_loss: 1.1781 - val_acc: 0.6636\n",
      "Epoch 10/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.6581 - acc: 0.8192 - val_loss: 0.7833 - val_acc: 0.7788\n",
      "Epoch 11/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.6363 - acc: 0.8292 - val_loss: 0.8046 - val_acc: 0.7796\n",
      "Epoch 12/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 84ms/step - loss: 0.6247 - acc: 0.8345 - val_loss: 0.6939 - val_acc: 0.8088\n",
      "Epoch 13/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 87ms/step - loss: 0.6062 - acc: 0.8398 - val_loss: 0.7810 - val_acc: 0.7870\n",
      "Epoch 14/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.5946 - acc: 0.8468 - val_loss: 0.7149 - val_acc: 0.8038\n",
      "Epoch 15/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.5884 - acc: 0.8496 - val_loss: 1.1046 - val_acc: 0.7074\n",
      "Epoch 16/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.5806 - acc: 0.8528 - val_loss: 0.7421 - val_acc: 0.8012\n",
      "Epoch 17/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 84ms/step - loss: 0.5690 - acc: 0.8589 - val_loss: 0.6968 - val_acc: 0.8158\n",
      "Epoch 18/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.5612 - acc: 0.8620 - val_loss: 0.6357 - val_acc: 0.8422\n",
      "Epoch 19/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.5541 - acc: 0.8642 - val_loss: 0.7899 - val_acc: 0.7978\n",
      "Epoch 20/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.5511 - acc: 0.8651 - val_loss: 1.0496 - val_acc: 0.7534\n",
      "Epoch 21/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.5471 - acc: 0.8690 - val_loss: 0.8063 - val_acc: 0.7962\n",
      "Epoch 22/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.5392 - acc: 0.8728 - val_loss: 0.9068 - val_acc: 0.7634\n",
      "Epoch 23/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.5329 - acc: 0.8750 - val_loss: 0.7679 - val_acc: 0.8086\n",
      "Epoch 24/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.5295 - acc: 0.8759 - val_loss: 0.8280 - val_acc: 0.8008\n",
      "Epoch 25/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 87ms/step - loss: 0.5360 - acc: 0.8751 - val_loss: 0.6404 - val_acc: 0.8478\n",
      "Epoch 26/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.5239 - acc: 0.8792 - val_loss: 0.7639 - val_acc: 0.8198\n",
      "Epoch 27/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 78ms/step - loss: 0.5194 - acc: 0.8822 - val_loss: 0.6921 - val_acc: 0.8270\n",
      "Epoch 28/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 80ms/step - loss: 0.5170 - acc: 0.8837 - val_loss: 0.8246 - val_acc: 0.7944\n",
      "Epoch 29/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 80ms/step - loss: 0.5172 - acc: 0.8839 - val_loss: 0.7500 - val_acc: 0.8094\n",
      "Epoch 30/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 0.5121 - acc: 0.8852 - val_loss: 0.9124 - val_acc: 0.7726\n",
      "Epoch 31/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 79ms/step - loss: 0.5076 - acc: 0.8890 - val_loss: 0.7172 - val_acc: 0.8308\n",
      "Epoch 32/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 78ms/step - loss: 0.5140 - acc: 0.8877 - val_loss: 0.7391 - val_acc: 0.8224\n",
      "Epoch 33/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 76ms/step - loss: 0.5044 - acc: 0.8920 - val_loss: 0.7362 - val_acc: 0.8244\n",
      "Epoch 34/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 0.5020 - acc: 0.8911 - val_loss: 1.0738 - val_acc: 0.7536\n",
      "Epoch 35/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 79ms/step - loss: 0.5029 - acc: 0.8920 - val_loss: 0.8273 - val_acc: 0.7974\n",
      "Epoch 36/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 0.5025 - acc: 0.8915 - val_loss: 0.6552 - val_acc: 0.8454\n",
      "Epoch 37/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 80ms/step - loss: 0.5003 - acc: 0.8920 - val_loss: 0.6522 - val_acc: 0.8468\n",
      "Epoch 38/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 79ms/step - loss: 0.4925 - acc: 0.8973 - val_loss: 0.8161 - val_acc: 0.7992\n",
      "Epoch 39/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 0.4904 - acc: 0.8990 - val_loss: 0.7713 - val_acc: 0.8198\n",
      "Epoch 40/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 0.4915 - acc: 0.8977 - val_loss: 0.7944 - val_acc: 0.8060\n",
      "Epoch 41/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 75ms/step - loss: 0.4983 - acc: 0.8953 - val_loss: 0.7498 - val_acc: 0.8244\n",
      "Epoch 42/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 75ms/step - loss: 0.4928 - acc: 0.8973 - val_loss: 0.8065 - val_acc: 0.8134\n",
      "Epoch 43/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.4906 - acc: 0.8993 - val_loss: 0.9616 - val_acc: 0.7716\n",
      "Epoch 44/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 74ms/step - loss: 0.4866 - acc: 0.9012 - val_loss: 0.9174 - val_acc: 0.7882\n",
      "Epoch 45/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 75ms/step - loss: 0.4854 - acc: 0.9004 - val_loss: 0.8731 - val_acc: 0.7948\n",
      "Epoch 46/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 75ms/step - loss: 0.4811 - acc: 0.9024 - val_loss: 0.7893 - val_acc: 0.8078\n",
      "Epoch 47/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.4864 - acc: 0.9019 - val_loss: 0.8758 - val_acc: 0.8168\n",
      "Epoch 48/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 74ms/step - loss: 0.4884 - acc: 0.9004 - val_loss: 0.6366 - val_acc: 0.8594\n",
      "Epoch 49/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 76ms/step - loss: 0.4803 - acc: 0.9033 - val_loss: 0.7322 - val_acc: 0.8310\n",
      "Epoch 50/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.4834 - acc: 0.9032 - val_loss: 0.8510 - val_acc: 0.8022\n",
      "Epoch 51/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 0.4820 - acc: 0.9041 - val_loss: 0.8384 - val_acc: 0.8024\n",
      "Epoch 52/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 0.4789 - acc: 0.9050 - val_loss: 0.7174 - val_acc: 0.8444\n",
      "Epoch 53/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.4738 - acc: 0.9075 - val_loss: 0.8125 - val_acc: 0.8030\n",
      "Epoch 54/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 72ms/step - loss: 0.4760 - acc: 0.9066 - val_loss: 1.2583 - val_acc: 0.7100\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 55/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 25s 72ms/step - loss: 0.4751 - acc: 0.9075 - val_loss: 0.9297 - val_acc: 0.7860\n",
      "Epoch 56/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 25s 72ms/step - loss: 0.4772 - acc: 0.9048 - val_loss: 0.7774 - val_acc: 0.8184\n",
      "Epoch 57/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 25s 72ms/step - loss: 0.4698 - acc: 0.9086 - val_loss: 0.8144 - val_acc: 0.8238\n",
      "Epoch 58/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.4720 - acc: 0.9072 - val_loss: 0.6963 - val_acc: 0.8452\n",
      "Epoch 59/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 25s 72ms/step - loss: 0.4705 - acc: 0.9096 - val_loss: 0.7786 - val_acc: 0.8264\n",
      "Epoch 60/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 74ms/step - loss: 0.4693 - acc: 0.9091 - val_loss: 0.7156 - val_acc: 0.8374\n",
      "Epoch 61/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.4719 - acc: 0.9077 - val_loss: 0.7457 - val_acc: 0.8302\n",
      "Epoch 62/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 25s 72ms/step - loss: 0.4697 - acc: 0.9095 - val_loss: 0.6810 - val_acc: 0.8436\n",
      "Epoch 63/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 24s 69ms/step - loss: 0.4728 - acc: 0.9089 - val_loss: 0.8348 - val_acc: 0.8058\n",
      "Epoch 64/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.4652 - acc: 0.9112 - val_loss: 0.8593 - val_acc: 0.8018\n",
      "Epoch 65/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 74ms/step - loss: 0.4625 - acc: 0.9112 - val_loss: 0.8423 - val_acc: 0.8122\n",
      "Epoch 66/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 0.4680 - acc: 0.9107 - val_loss: 0.7237 - val_acc: 0.8358\n",
      "Epoch 67/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 74ms/step - loss: 0.4600 - acc: 0.9125 - val_loss: 0.7227 - val_acc: 0.8392\n",
      "Epoch 68/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 27s 77ms/step - loss: 0.4644 - acc: 0.9129 - val_loss: 0.6399 - val_acc: 0.8572\n",
      "Epoch 69/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 75ms/step - loss: 0.4599 - acc: 0.9122 - val_loss: 0.6457 - val_acc: 0.8628\n",
      "Epoch 70/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 75ms/step - loss: 0.4617 - acc: 0.9129 - val_loss: 0.7538 - val_acc: 0.8384\n",
      "Epoch 71/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 75ms/step - loss: 0.4582 - acc: 0.9145 - val_loss: 0.8457 - val_acc: 0.8192\n",
      "Epoch 72/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 74ms/step - loss: 0.4652 - acc: 0.9118 - val_loss: 0.6528 - val_acc: 0.8598\n",
      "Epoch 73/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 26s 75ms/step - loss: 0.4566 - acc: 0.9158 - val_loss: 0.7061 - val_acc: 0.8458\n",
      "Epoch 74/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.4567 - acc: 0.9163 - val_loss: 0.6876 - val_acc: 0.8518\n",
      "Epoch 75/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 84ms/step - loss: 0.4631 - acc: 0.9133 - val_loss: 0.6290 - val_acc: 0.8666\n",
      "Epoch 76/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.4608 - acc: 0.9144 - val_loss: 0.8358 - val_acc: 0.8062\n",
      "Epoch 77/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.4580 - acc: 0.9149 - val_loss: 0.8304 - val_acc: 0.8160\n",
      "Epoch 78/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.4541 - acc: 0.9157 - val_loss: 0.7842 - val_acc: 0.8328\n",
      "Epoch 79/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.4575 - acc: 0.9158 - val_loss: 0.8130 - val_acc: 0.8156\n",
      "Epoch 80/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 87ms/step - loss: 0.4589 - acc: 0.9166 - val_loss: 0.6513 - val_acc: 0.8604\n",
      "Epoch 81/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.4556 - acc: 0.9155 - val_loss: 0.8018 - val_acc: 0.8322\n",
      "Epoch 82/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.4604 - acc: 0.9142 - val_loss: 0.7871 - val_acc: 0.8196\n",
      "Epoch 83/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 87ms/step - loss: 0.4478 - acc: 0.9199 - val_loss: 0.8392 - val_acc: 0.8180\n",
      "Epoch 84/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 31s 87ms/step - loss: 0.4534 - acc: 0.9177 - val_loss: 0.8696 - val_acc: 0.7998\n",
      "Epoch 85/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.4531 - acc: 0.9164 - val_loss: 0.8187 - val_acc: 0.8092\n",
      "Epoch 86/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 84ms/step - loss: 0.4531 - acc: 0.9176 - val_loss: 0.6312 - val_acc: 0.8612\n",
      "Epoch 87/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.4583 - acc: 0.9158 - val_loss: 0.9205 - val_acc: 0.7904\n",
      "Epoch 88/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 81ms/step - loss: 0.4513 - acc: 0.9185 - val_loss: 0.7834 - val_acc: 0.8338\n",
      "Epoch 89/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 84ms/step - loss: 0.4497 - acc: 0.9178 - val_loss: 0.8524 - val_acc: 0.8208\n",
      "Epoch 90/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.4493 - acc: 0.9185 - val_loss: 0.7078 - val_acc: 0.8450\n",
      "Epoch 91/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 28s 81ms/step - loss: 0.4523 - acc: 0.9172 - val_loss: 0.6957 - val_acc: 0.8532\n",
      "Epoch 92/182\n",
      "new lr:1.00e-01\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.4506 - acc: 0.9185 - val_loss: 0.6426 - val_acc: 0.8612\n",
      "Epoch 93/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.3807 - acc: 0.9417 - val_loss: 0.4805 - val_acc: 0.9168\n",
      "Epoch 94/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 25s 71ms/step - loss: 0.3379 - acc: 0.9584 - val_loss: 0.4737 - val_acc: 0.9196\n",
      "Epoch 95/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 25s 71ms/step - loss: 0.3195 - acc: 0.9631 - val_loss: 0.4700 - val_acc: 0.9178\n",
      "Epoch 96/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.3084 - acc: 0.9661 - val_loss: 0.4737 - val_acc: 0.9176\n",
      "Epoch 97/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.2986 - acc: 0.9689 - val_loss: 0.4646 - val_acc: 0.9210\n",
      "Epoch 98/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 24s 68ms/step - loss: 0.2897 - acc: 0.9709 - val_loss: 0.4784 - val_acc: 0.9190\n",
      "Epoch 99/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 24s 69ms/step - loss: 0.2834 - acc: 0.9721 - val_loss: 0.4729 - val_acc: 0.9206\n",
      "Epoch 100/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 26s 74ms/step - loss: 0.2747 - acc: 0.9746 - val_loss: 0.4740 - val_acc: 0.9190\n",
      "Epoch 101/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.2697 - acc: 0.9746 - val_loss: 0.4660 - val_acc: 0.9194\n",
      "Epoch 102/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 25s 72ms/step - loss: 0.2642 - acc: 0.9762 - val_loss: 0.4804 - val_acc: 0.9182\n",
      "Epoch 103/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.2587 - acc: 0.9766 - val_loss: 0.4742 - val_acc: 0.9210\n",
      "Epoch 104/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 25s 72ms/step - loss: 0.2536 - acc: 0.9777 - val_loss: 0.4712 - val_acc: 0.9192\n",
      "Epoch 105/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.2473 - acc: 0.9797 - val_loss: 0.4698 - val_acc: 0.9200\n",
      "Epoch 106/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.2436 - acc: 0.9797 - val_loss: 0.4770 - val_acc: 0.9178\n",
      "Epoch 107/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 25s 70ms/step - loss: 0.2390 - acc: 0.9806 - val_loss: 0.4779 - val_acc: 0.9202\n",
      "Epoch 108/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 26s 72ms/step - loss: 0.2346 - acc: 0.9818 - val_loss: 0.4771 - val_acc: 0.9194\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 109/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 28s 80ms/step - loss: 0.2285 - acc: 0.9825 - val_loss: 0.4748 - val_acc: 0.9192\n",
      "Epoch 110/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.2244 - acc: 0.9833 - val_loss: 0.4892 - val_acc: 0.9182\n",
      "Epoch 111/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.2217 - acc: 0.9839 - val_loss: 0.4839 - val_acc: 0.9182\n",
      "Epoch 112/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.2181 - acc: 0.9834 - val_loss: 0.4994 - val_acc: 0.9166\n",
      "Epoch 113/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.2150 - acc: 0.9844 - val_loss: 0.4723 - val_acc: 0.9198\n",
      "Epoch 114/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.2115 - acc: 0.9850 - val_loss: 0.4827 - val_acc: 0.9178\n",
      "Epoch 115/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.2070 - acc: 0.9854 - val_loss: 0.4912 - val_acc: 0.9192\n",
      "Epoch 116/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.2036 - acc: 0.9856 - val_loss: 0.5007 - val_acc: 0.9182\n",
      "Epoch 117/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 31s 87ms/step - loss: 0.2012 - acc: 0.9862 - val_loss: 0.4771 - val_acc: 0.9224\n",
      "Epoch 118/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1987 - acc: 0.9861 - val_loss: 0.5202 - val_acc: 0.9120\n",
      "Epoch 119/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.1947 - acc: 0.9868 - val_loss: 0.4893 - val_acc: 0.9202\n",
      "Epoch 120/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1922 - acc: 0.9871 - val_loss: 0.4912 - val_acc: 0.9184\n",
      "Epoch 121/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1897 - acc: 0.9872 - val_loss: 0.4991 - val_acc: 0.9178\n",
      "Epoch 122/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.1878 - acc: 0.9873 - val_loss: 0.4940 - val_acc: 0.9182\n",
      "Epoch 123/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.1866 - acc: 0.9874 - val_loss: 0.4995 - val_acc: 0.9162\n",
      "Epoch 124/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1805 - acc: 0.9886 - val_loss: 0.4876 - val_acc: 0.9174\n",
      "Epoch 125/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.1787 - acc: 0.9881 - val_loss: 0.4922 - val_acc: 0.9172\n",
      "Epoch 126/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 87ms/step - loss: 0.1758 - acc: 0.9894 - val_loss: 0.4887 - val_acc: 0.9190\n",
      "Epoch 127/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.1744 - acc: 0.9886 - val_loss: 0.4836 - val_acc: 0.9194\n",
      "Epoch 128/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.1729 - acc: 0.9885 - val_loss: 0.5055 - val_acc: 0.9158\n",
      "Epoch 129/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 86ms/step - loss: 0.1714 - acc: 0.9884 - val_loss: 0.5009 - val_acc: 0.9176\n",
      "Epoch 130/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 30s 85ms/step - loss: 0.1684 - acc: 0.9891 - val_loss: 0.5047 - val_acc: 0.9114\n",
      "Epoch 131/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 29s 81ms/step - loss: 0.1670 - acc: 0.9896 - val_loss: 0.5202 - val_acc: 0.9120\n",
      "Epoch 132/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 28s 80ms/step - loss: 0.1649 - acc: 0.9890 - val_loss: 0.5001 - val_acc: 0.9180\n",
      "Epoch 133/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 28s 80ms/step - loss: 0.1617 - acc: 0.9901 - val_loss: 0.5086 - val_acc: 0.9120\n",
      "Epoch 134/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 29s 81ms/step - loss: 0.1606 - acc: 0.9896 - val_loss: 0.4917 - val_acc: 0.9150\n",
      "Epoch 135/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.1591 - acc: 0.9896 - val_loss: 0.5243 - val_acc: 0.9132\n",
      "Epoch 136/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.1574 - acc: 0.9901 - val_loss: 0.4983 - val_acc: 0.9144\n",
      "Epoch 137/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.1559 - acc: 0.9898 - val_loss: 0.4936 - val_acc: 0.9160\n",
      "Epoch 138/182\n",
      "new lr:1.00e-02\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.1524 - acc: 0.9909 - val_loss: 0.5108 - val_acc: 0.9156\n",
      "Epoch 139/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 28s 81ms/step - loss: 0.1479 - acc: 0.9924 - val_loss: 0.4887 - val_acc: 0.9212\n",
      "Epoch 140/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.1451 - acc: 0.9931 - val_loss: 0.4804 - val_acc: 0.9204\n",
      "Epoch 141/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 83ms/step - loss: 0.1442 - acc: 0.9934 - val_loss: 0.4827 - val_acc: 0.9200\n",
      "Epoch 142/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.1418 - acc: 0.9949 - val_loss: 0.4812 - val_acc: 0.9210\n",
      "Epoch 143/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.1432 - acc: 0.9937 - val_loss: 0.4793 - val_acc: 0.9204\n",
      "Epoch 144/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.1419 - acc: 0.9940 - val_loss: 0.4785 - val_acc: 0.9218\n",
      "Epoch 145/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.1406 - acc: 0.9944 - val_loss: 0.4769 - val_acc: 0.9204\n",
      "Epoch 146/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.1401 - acc: 0.9947 - val_loss: 0.4794 - val_acc: 0.9200\n",
      "Epoch 147/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.1394 - acc: 0.9951 - val_loss: 0.4797 - val_acc: 0.9194\n",
      "Epoch 148/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.1388 - acc: 0.9951 - val_loss: 0.4805 - val_acc: 0.9204\n",
      "Epoch 149/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 29s 82ms/step - loss: 0.1375 - acc: 0.9957 - val_loss: 0.4789 - val_acc: 0.9198\n",
      "Epoch 150/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.1383 - acc: 0.9955 - val_loss: 0.4795 - val_acc: 0.9206\n",
      "Epoch 151/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.1372 - acc: 0.9956 - val_loss: 0.4797 - val_acc: 0.9198\n",
      "Epoch 152/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 25s 71ms/step - loss: 0.1372 - acc: 0.9953 - val_loss: 0.4806 - val_acc: 0.9206\n",
      "Epoch 153/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 25s 71ms/step - loss: 0.1377 - acc: 0.9950 - val_loss: 0.4848 - val_acc: 0.9198\n",
      "Epoch 154/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 24s 68ms/step - loss: 0.1366 - acc: 0.9957 - val_loss: 0.4820 - val_acc: 0.9200\n",
      "Epoch 155/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 25s 70ms/step - loss: 0.1364 - acc: 0.9958 - val_loss: 0.4819 - val_acc: 0.9204\n",
      "Epoch 156/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 24s 70ms/step - loss: 0.1365 - acc: 0.9957 - val_loss: 0.4824 - val_acc: 0.9210\n",
      "Epoch 157/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 25s 70ms/step - loss: 0.1346 - acc: 0.9965 - val_loss: 0.4800 - val_acc: 0.9214\n",
      "Epoch 158/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 25s 71ms/step - loss: 0.1352 - acc: 0.9959 - val_loss: 0.4831 - val_acc: 0.9198\n",
      "Epoch 159/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 25s 70ms/step - loss: 0.1346 - acc: 0.9958 - val_loss: 0.4863 - val_acc: 0.9202\n",
      "Epoch 160/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 24s 68ms/step - loss: 0.1349 - acc: 0.9961 - val_loss: 0.4813 - val_acc: 0.9210\n",
      "Epoch 161/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 23s 64ms/step - loss: 0.1342 - acc: 0.9961 - val_loss: 0.4830 - val_acc: 0.9208\n",
      "Epoch 162/182\n",
      "new lr:1.00e-03\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "352/352 [==============================] - 22s 63ms/step - loss: 0.1349 - acc: 0.9954 - val_loss: 0.4817 - val_acc: 0.9206\n",
      "Epoch 163/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 23s 66ms/step - loss: 0.1334 - acc: 0.9964 - val_loss: 0.4820 - val_acc: 0.9212\n",
      "Epoch 164/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 24s 69ms/step - loss: 0.1333 - acc: 0.9959 - val_loss: 0.4799 - val_acc: 0.9220\n",
      "Epoch 165/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 24s 67ms/step - loss: 0.1337 - acc: 0.9961 - val_loss: 0.4809 - val_acc: 0.9206\n",
      "Epoch 166/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 24s 69ms/step - loss: 0.1328 - acc: 0.9963 - val_loss: 0.4829 - val_acc: 0.9218\n",
      "Epoch 167/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 24s 68ms/step - loss: 0.1323 - acc: 0.9962 - val_loss: 0.4847 - val_acc: 0.9210\n",
      "Epoch 168/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 23s 66ms/step - loss: 0.1320 - acc: 0.9965 - val_loss: 0.4859 - val_acc: 0.9204\n",
      "Epoch 169/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 22s 63ms/step - loss: 0.1312 - acc: 0.9968 - val_loss: 0.4867 - val_acc: 0.9212\n",
      "Epoch 170/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 24s 68ms/step - loss: 0.1316 - acc: 0.9963 - val_loss: 0.4827 - val_acc: 0.9208\n",
      "Epoch 171/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 23s 66ms/step - loss: 0.1321 - acc: 0.9960 - val_loss: 0.4844 - val_acc: 0.9206\n",
      "Epoch 172/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 24s 67ms/step - loss: 0.1310 - acc: 0.9967 - val_loss: 0.4841 - val_acc: 0.9208\n",
      "Epoch 173/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 24s 69ms/step - loss: 0.1313 - acc: 0.9964 - val_loss: 0.4853 - val_acc: 0.9202\n",
      "Epoch 174/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 25s 71ms/step - loss: 0.1307 - acc: 0.9963 - val_loss: 0.4859 - val_acc: 0.9202\n",
      "Epoch 175/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 24s 69ms/step - loss: 0.1302 - acc: 0.9967 - val_loss: 0.4873 - val_acc: 0.9190\n",
      "Epoch 176/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 23s 67ms/step - loss: 0.1311 - acc: 0.9965 - val_loss: 0.4856 - val_acc: 0.9202\n",
      "Epoch 177/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 25s 70ms/step - loss: 0.1295 - acc: 0.9967 - val_loss: 0.4864 - val_acc: 0.9206\n",
      "Epoch 178/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 25s 71ms/step - loss: 0.1297 - acc: 0.9966 - val_loss: 0.4846 - val_acc: 0.9204\n",
      "Epoch 179/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.1290 - acc: 0.9968 - val_loss: 0.4842 - val_acc: 0.9196\n",
      "Epoch 180/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.1292 - acc: 0.9970 - val_loss: 0.4853 - val_acc: 0.9190\n",
      "Epoch 181/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 26s 74ms/step - loss: 0.1291 - acc: 0.9967 - val_loss: 0.4874 - val_acc: 0.9202\n",
      "Epoch 182/182\n",
      "new lr:1.00e-03\n",
      "352/352 [==============================] - 26s 73ms/step - loss: 0.1288 - acc: 0.9968 - val_loss: 0.4861 - val_acc: 0.9194\n",
      "CPU times: user 2h 18min 40s, sys: 7min 9s, total: 2h 25min 50s\n",
      "Wall time: 1h 23min 17s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "from cifar10_solver import *\n",
    "# from keras.callbacks import ReduceLROnPlateau\n",
    "from keras.callbacks import LearningRateScheduler\n",
    "\n",
    "def lr_scheduler(epoch):\n",
    "    new_lr = lr\n",
    "    if epoch <= 91:\n",
    "        pass\n",
    "    elif epoch > 91 and epoch <= 137:\n",
    "        new_lr = lr * 0.1\n",
    "    else:\n",
    "        new_lr = lr * 0.01\n",
    "    print('new lr:%.2e' % new_lr)\n",
    "    return new_lr \n",
    "\n",
    "reduce_lr = LearningRateScheduler(lr_scheduler)\n",
    "# reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.1,\n",
    "#                               patience=10, min_lr=1e-6, verbose=1)\n",
    "\n",
    "solver = CIFAR10Solver(resnet20, data)\n",
    "history = solver.train(epochs=182, batch_size=128, data_augmentation=True, callbacks=[reduce_lr])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot loss and acc \n",
    "plot_history(history)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10000/10000 [==============================] - 3s 330us/step\n",
      "test data loss:0.50 acc:0.9125\n"
     ]
    }
   ],
   "source": [
    "solver.test()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
